-
Notifications
You must be signed in to change notification settings - Fork 768
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use METIS system library if so selected #570
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
glad to see you working on this! Had some questions about this though.
Shouldn't https://github.com/borglab/gtsam/blob/develop/gtsam/inference/Ordering.cpp#L28
be changed to just <metis.h>
as well as https://github.com/borglab/gtsam/blob/develop/gtsam_unstable/partition/FindSeparator-inl.h#L25 being changed to <metislib.h>
in this PR?
Good catch! 👍 |
based on my past effort on this task, I fear you might not be able to use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I am blown away by your CMake skills @jlblancoc!
We should create an issue for @acxz's comments and tackle them in the next PR. This PR is atomically very nice. |
I don't want to be a downer but I don't think this PR should be merged before addressing the issues I have raised. As for an issue, my concerns and past efforts are documented in that above linked comment which is on the use system libraries issue thread anyway. I think that is good enough for now. |
Fair point. I'm going to leave this as approved and trust @jlblancoc to add in the updates before we merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to make the changes as recommended by @acxz.
@jlblancoc @acxz I added |
How can I actually compile and run the tests that have the above #ifndefs?
|
self-answer: to build the test, do:
|
Looks like we are still missing to change https://github.com/borglab/gtsam/blob/develop/gtsam/inference/Ordering.cpp#L28
see @acxz comment above |
@berndpfrommer made the changes. Can you please review? |
Looks good to me. |
I also added a CI case for using only system libraries. Currently it only sets the Eigen and Metis system library flags, but we can update those as we go. |
Let's merge? @jlblancoc please do the honors. |
@jlblancoc I'm merging this. 🙂 |
@varunagrawal Sorry, I've been busy and missed a lot of what's happening here... so glad you guys made it work :-) |
This addresses the libmetis part of #292.
Defines a new cmake flag
GTSAM_USE_SYSTEM_METIS
(default=off) and uses system libraries in GNU/Linux systems if set to ON. This has been tested withMETISOrderingExample
for both configurations.Note: the current CI won't test the GTSAM_USE_SYSTEM_METIS=ON case...
Perhaps one of the cases in the test matrix should address using all system libraries (Eigen, Metis,...)?
(cc: @berndpfrommer )